package cn.exrick.xboot.base.service

import cn.exrick.xboot.base.dto.BreakRolesRecordDto
import cn.exrick.xboot.base.entity.BreakRolesRecord
import cn.exrick.xboot.base.entity.JobAccidentCase
import cn.exrick.xboot.base.vo.BreakRolesRecordDetailVo
import cn.exrick.xboot.base.vo.JobAccidentCaseDetailVo
import cn.exrick.xboot.core.common.vo.PageVo
import cn.exrick.xboot.core.common.vo.Result
import com.baomidou.mybatisplus.extension.service.IService

/**
 * 岗位事故案例接口
 * @author Fei
 */
interface IJobAccidentCaseService : IService<JobAccidentCase?> {


    /**
     * 添加或者更新岗位事故案例
     */
    fun createOrUpdateJobAccidentCase(jobAccidentCase: JobAccidentCase): Result<Any?>?

    /**
     * 移除岗位事故案例
     */
    fun removeJobAccidentCase(ids: Array<out String>): Result<Any?>?

    /**
     * (安全顾问)获取岗位事故案例列表(管理系统)
     */
    fun getJobAccidentCaseList(breakRolesRecordDto: BreakRolesRecordDto, pageVo: PageVo): Result<MutableMap<String, Any?>>?


    /**
     * (安全顾问&&员工)获取岗位事故案例详情(管理系统 && app)
     */
    fun getJobAccidentCaseDetail(id: String?): Result<JobAccidentCaseDetailVo>?


    /**
     * (员工)获取我的岗位事故案例列表
     */
    fun getJobAccidentCase(pageVo: PageVo): Result<MutableMap<String, Any?>>?


    /**
     * 根据企业id获取岗位事故案例列表
     */
    fun getJobAccidentByEnterpriseId(pageVo: PageVo, jobId: String, enterpriseId: String): Result<MutableMap<String, Any?>>?

}